Skip to content

Rollup of 7 pull requests #143645

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jul 8, 2025
Merged

Rollup of 7 pull requests #143645

merged 17 commits into from
Jul 8, 2025

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Jul 8, 2025

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GrigorenkoPV and others added 17 commits July 7, 2025 14:33
I was reading over this documentation in light of the effort to enlist
more maintainers for Tier 2 targets and figured it was time for a
refresh of this documentation now that historical renames/etc have all
become a thing of the past. No new major changes to this documentation,
mostly just wanted to update it and reflect the modern status quo for
this target.
The mips64-unknown-linux-muslabi64 target is currently rather broken,
but I'm working on getting it fixed so that it can at least be used
again.

While I can't commit to maintaining the LLVM side of this target, I
don't mind looking into any other MIPS or musl-related issues that arise
with this target.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
…, r=jdonszelmann

Port several linking (linkage?) related attributes the new attribute system

This ports:
- `#[export_stable]`
- `#[ffi_const]`
- `#[ffi_pure]`
- `#[rustc_std_internal_symbol]`

Part of rust-lang#131229

r? ``@oli-obk``
…nsafe-rustdoc-json, r=aDotInTheVoid

Don't mark `#[target_feature]` safe fns as unsafe in rustdoc JSON.

Fixes rust-lang#142655 by explicitly checking whether functions are safe but using `#[target_feature]`, instead of relying on the `FnHeader::is_unsafe()` method which considers such functions unsafe.

I don't believe this merits a bump of the rustdoc JSON `FORMAT_VERSION` constant, since the format is unchanged and this is just a small bugfix.

r? aDotInTheVoid
Port #[rustc_dummy]

r? ``@jdonszelmann``
…ord, r=jieyouxu

Update intro blurb in `wasm32-wasip1` docs

I was reading over this documentation in light of the effort to enlist more maintainers for Tier 2 targets and figured it was time for a refresh of this documentation now that historical renames/etc have all become a thing of the past. No new major changes to this documentation, mostly just wanted to update it and reflect the modern status quo for this target.
… r=compiler-errors

Clarify the meaning of `AttributeOrder::KeepFirst` and `AttributeOrder::KeepLast`

Clarify the meaning of `KeepLast` and `KeepFirst` for rust-lang#131229 (comment)

Just a minor clarification, but me and ``@JonathanBrouwer`` have confused these two a few times so I think it's warranted.

r? ``@oli-obk``

cc ``@JonathanBrouwer``
…r-errors

fix: Remove newline from multiple crate versions note

While working on getting `annotate-snippets` to match `rustc`, `annotate-snippets` was adding an extra new line after [this line](https://github.com/rust-lang/rust/blob/a2d45f73c70d9dec57140c9412f83586eda895f8/tests/run-make/crate-loading/multiple-dep-versions.stderr#L9) for [`run-make/crate-loading/multiple-dep-versions.rs`](https://github.com/rust-lang/rust/blob/a2d45f73c70d9dec57140c9412f83586eda895f8/tests/run-make/crate-loading/multiple-dep-versions.rs). I found out this was because there was an explicit `\n` in the message that `annotate-snippets` was respecting, while `rustc` was [skipping it](https://github.com/rust-lang/rust/blob/2f8eeb2bba86b8f457ec602c578473c711f85628/compiler/rustc_errors/src/emitter.rs#L1542). After talking with ```@estebank,``` I was told to remove the newline from the error message.

r? ```@estebank```
…labi64-target-maintainer, r=jieyouxu

Add target maintainer information for mips64-unknown-linux-muslabi64

The `mips64-unknown-linux-muslabi64` target is currently rather broken, but I'm working on getting it fixed so that it can at least be used again.

While I can't commit to maintaining the LLVM side of this target, I don't mind looking into any other MIPS or musl-related issues that arise with this target.

See e.g. rust-lang#143409 for some rustc fixes I have in the pipeline and rust-lang/libc#4509, rust-lang/libc#4527, rust-lang/libc#4528, rust-lang/libc#4529, rust-lang/libc#4530 for fixing the libc definitions for this target.

I'm adding myself as a maintainer mostly due to [this interaction](rust-lang/libc#4530 (comment)).

LLVM support has been a concern for these targets in the past, but it shouldn't hurt to have a nominal maintainer for these even if they remain tier 3. From my experience, LLVM for MIPS is working well nowadays unless you decide to use LLD, which is horribly broken on MIPS.
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jul 8, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jul 8, 2025

📌 Commit f3226b4 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 8, 2025
@bors
Copy link
Collaborator

bors commented Jul 8, 2025

⌛ Testing commit f3226b4 with merge ab68b0f...

@bors
Copy link
Collaborator

bors commented Jul 8, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing ab68b0f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 8, 2025
@bors bors merged commit ab68b0f into rust-lang:master Jul 8, 2025
12 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 8, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#143402 Port several linking (linkage?) related attributes the new … ecb14a79c81299d8bad426e75b3362b8758f1791 (link)
#143555 Don't mark #[target_feature] safe fns as unsafe in rustdo… 28a437363992030e3c4439d864fd5eac50240aa9 (link)
#143593 Port #[rustc_dummy] 8867650a08e5bf446c217771f9f6c2dcd683b415 (link)
#143600 Update intro blurb in wasm32-wasip1 docs f546c48a6f5f9f39fd84577aed81af369d18132a (link)
#143603 Clarify the meaning of AttributeOrder::KeepFirst and `Att… e858905cb0c2deeafaa6d44b37806850df675f34 (link)
#143620 fix: Remove newline from multiple crate versions note ee1ba1033406c99f231cac9b5dbd8d7f9270839b (link)
#143622 Add target maintainer information for mips64-unknown-linux-… 191a0de3e87c4d4aec0dcb31378fc60603dc83c9 (link)

previous master: f838cbc06d

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

Copy link
Contributor

github-actions bot commented Jul 8, 2025

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing f838cbc (parent) -> ab68b0f (this PR)

Test differences

Show 4 test diffs

4 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard ab68b0fb26485ab1fa6977b2d8b59cc8a171c4aa --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. pr-check-2: 2185.5s -> 2691.0s (23.1%)
  2. aarch64-apple: 4689.0s -> 5739.6s (22.4%)
  3. x86_64-apple-2: 3983.6s -> 4756.1s (19.4%)
  4. dist-x86_64-apple: 8701.3s -> 10295.2s (18.3%)
  5. i686-gnu-2: 5437.3s -> 6363.5s (17.0%)
  6. x86_64-rust-for-linux: 2548.7s -> 2982.1s (17.0%)
  7. x86_64-apple-1: 7529.9s -> 8711.7s (15.7%)
  8. dist-apple-various: 7546.0s -> 6378.5s (-15.5%)
  9. pr-check-1: 1547.1s -> 1772.4s (14.6%)
  10. i686-gnu-nopt-1: 7239.0s -> 8149.3s (12.6%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (ab68b0f): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.1%, 0.5%] 16
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 1.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.2% [1.2%, 1.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

Results (primary 2.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.1% [2.0%, 2.1%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.1% [2.0%, 2.1%] 2

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 466.242s -> 466.245s (0.00%)
Artifact size: 372.32 MiB -> 372.32 MiB (-0.00%)

@Kobzol
Copy link
Member

Kobzol commented Jul 9, 2025

Most of the regressions likely come from #143402. The regressions are tiny and on a small number of secondary stress tests. When checking "Show non-relevant results", it seems like very tine regressions are across the codebase, but I think that's acceptable, given that the new attribute parser generally does more validations.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Jul 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.